Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

ПРОЕКТУВАННЯ НА VERILOG ПІДСТАНОВОК В S-БЛОКАХ АЛГОРИТМУ ШИФРУВАННЯ DES

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
ЗІ

Інформація про роботу

Рік:
2020
Тип роботи:
Лабораторна робота
Предмет:
Комп ютерні методи високорівневого проектування систем захисту
Варіант:
12

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ / З В І Т до лабораторної роботи №1 з курсу: «Комп`ютерні методи високорівневого проектування систем захисту» на тему: «ПРОЕКТУВАННЯ НА VERILOG ПІДСТАНОВОК В S-БЛОКАХ АЛГОРИТМУ ШИФРУВАННЯ DES» Варіант 4 Мета роботи: - вивчення принципів виконання підстановок в S-блоках алгоритму шифрування DES і особливостей їх реалізації мовою VERILOG. 1. ОСНОВНІ ВІДОМОСТІ Відповідно до схеми раунду DES (Рис. 1) підстановка в S-блоках виконується над результатом розширюючої перестановки, на який операцією XOR накладено раундовий ключ.  Рисунок 1. Схема раунду DES. Підстановка за допомогою S-блоків є ключовим кроком алгоритму DES. Саме ця підстановка визначає стійкість алгоритму. Інші операції алгоритму лінійні і легко піддаються аналізу. S-блоки нелінійні і саме вони визначають безпеку DES. Підстановка (тобто заміна) здійснюється за допомогою восьми блоків підстановки, або S-блоків (від substitution). В кожного S-блока 6-бітовий вхід і 4-бітовий вихід. Всі вісім блоків різні. При виконанні підстановки 48 вхідних бітів діляться на вісім 6-бітових під блоків. Кожен окремий під блок обробляється своїм S-блоком: замість 6-бітового вхідного під блоку підставляється 4-бітовий (Рис. 2).  Рисунок 2. Схема включення S-блоків Кожен з восьми S-блоків (Рис.2) є таблицею з 4 рядків і 16 стовпців. Нумерація рядків і стовпців починається з нуля. В таблицях певним чином розташовані 4-бітні числа. Шість вхідних бітів S-блока визначають номери рядка і стовпця, на перетині яких зчитується чотири бітне число, яке підставляється замість вхідного шести бітного. Нехай маємо 6-бітовий вхід S-блока: b1, b2, b3, b4, b5 і b6. Біти b1 і b6 об'єднуються, утворюючи 2-бітове число від 0 до 3, яке визначає номер рядка таблиці. Середні 4 біта, з b2 по b5, об'єднуються, утворюючи 4-бітове число від 0 до 15, яке визначає номер стовпця таблиці. Наприклад, нехай на вхід четвертого S-блока (тобто біти функції XOR з 19 по 24) подається 101011. Перший і останній біт, об’єднавшись, складають двійкове число 11, що відповідає третьому рядку четвертого S-блока. Середні 4 біта утворять 0101, що відповідає п’ятому стовпчику того-ж S-блока. В четвертому S-блоці (Див. Рис.3), на перетині рядка з номером 3 і стовпця з номером 5 зчитуємо число 1. Двійкове чотири бітне число 0001, яке відповідає одиниці, і підставляється замість вхідного шести бітного блоку 101011. Номер стовпця    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15   Номер рядка 0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 S4   1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9    2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4    3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14    2. ЗАВДАННЯ Ознайомитися з основними відомостями. Мовою VERILOG розробити програму для підстановки в заданому S-блоці алгоритму шифрування DES (номер S-блоку відповідає номеру варіанту). Програма має передбачати: а) зчитування з вхідного порту 6-бітового входу S-блоку; б) формування заданого S-блоку: або як одного (цілий S-блок), або як чотирьох (кожна стрічка S-блоку окремо) одномірних масивів чотири бітних даних (пам’ять); в) вибір результату підстановки шляхом аналізу 6-бітового входу S-блоку; г) видачу результату підстановки на вихідний 4-бітний порт пристрою. 3. Відлагодити програму і реалізувати розроблений пристрій в лабораторії. 4. Оформити і захистити звіт про виконану роботу. Приклад коду для варіанту S4 // Quartus II Verilog Template // DES Permutatiom module LabVer1 (S4OUT, S4IN); input[5:0] S4IN; output[3:0] S4OUT; reg[3:0] S4[63:0]; initial begin S4[0]=4'd7; S4[1]=4'd13; S4[2]=4'd14; S4[3]=4'd3; S4[4]=4'd0; S4[5]=4'd6; S4[6]=4'd9; S4[7]=4'd10; S4[8]=4'd1; S4[9]=4'd2; S4[10]=4'd8; S4[11]=4'd5; S4[12]=4'd11; S4[13]=4'd12; S4[14]=4'd4; S4[15]=4'd15; S4[16]=4'd13; S4[17]=4'd8; S4[18]=4'd11; S4[19]=4'd5; S4[20]=4'd6; S4[21]=4'd15; S4[22]=4'd0; S4[23]=4'd...
Антиботан аватар за замовчуванням

18.05.2020 01:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини